1. Field of the Invention
The present invention relates to a system bus and method for using the system bus. More particularly, the invention relates to a system bus and method that provides wireless communication with various input and output devices.
2. Description of the Related Art
Unlike their desktop counterparts, handheld computers have limited capabilities because of limitations on size and power availability. The small size means that the display must be small, the interior space for hardware is cramped, connections for peripherals are minimal, expanding or upgrading the system is cumbersome, and the space and weight allowed for batteries or other power sources is quite small. While handheld computers are generally provided with power adapters for home or office use, it is generally necessary for the batteries to last several hours without a charge in order for the handheld to deliver the full benefits of portability that users expect from a handheld computer.
Furthermore, cabling to external input and output devices present usability and portability problems. Expansion cards are now available for adding various functions to the handheld, such as additional memory, backups, modems, games and the like. However, only one or two cards can be used at one time and any additional cards must be carried separately. If peripheral devices are going to be used with the computer, it is necessary to keep and use cables that add bulk, weight and spacing limitations to the system. Furthermore, the cables themselves are subject to damage and can prevent successful use of the peripherals to which the cables are connected.
The use of peripherals also increases the amount of power that must be available to the computer. Consequently, the computer must have a much bigger battery than would otherwise be required to merely operate the computer.
Another problem with connecting peripheral devices to a computer through cables is that increasing the number of peripheral connections increases the bulk and cost of the system. For example, a Universal Serial Bus (xe2x80x9cUSBxe2x80x9d), supporting data transfer rates of 12 Mbps (12 million bits per second), can be used to connect up to 127 peripheral devices, such as mice, modems, and keyboards. However, peripheral devices must be connected through a hub, such as a 4 or 6 port hub. If the number of peripheral devices later exceeds the number of ports, then the hub must either be replaced with a hub having more ports or a second hub must be daisychained with the first hub, further exacerbating the cabling problem.
It is also common that older handheld computers will not support new input and output devices due to architectural limitations. While most personal computers have been designed with backward compatibility as an important consideration, handheld computers do not always provide this compatibility. Consequently, it may be necessary to replace the handheld with a newer model in order to support the use of recently developed input and output devices.
One attempt to address these problems is the use of docking stations, such as that described in U.S. Pat. No. 6,088,752 entitled METHOD AND APPARATUS FOR EXCHANGING INFORMATION BETWEEN BUSES IN A PORTABLE COMPUTER AND DOCKING STATION THROUGH A BRIDGE EMPLOYING A SERIAL LINK. A docking station is a platform into which a portable computer can be installed. The docking station typically contains slots for expansion cards, bays for storage devices, and connectors for peripheral devices, such as printers and monitors. Once inserted in a docking station, the portable computer essentially becomes a desktop model computer. When it is taken out, it becomes a portable computer again. More importantly, some data is accessible in both modes because it resides on the portable computer""s drives. The idea behind docking stations is to combine the expansion possibilities of desktop model computers with the portability of notebook computers. In addition, the docking station enables use of a full-size keyboard or a monitor, and provides access to other peripherals or resources.
However, docking stations and personal computers have their own limitations. For example, docking stations must be made specifically for a given portable computer, because there is no standard for docking stations. Also, both docking stations and personal computers require nests of cables and wires in order to achieve the level of connectivity of which they are capable. And while these systems have more expansion capabilities than handheld or portable computers, it is still necessary to purchase expansion cards and cables, and then configure them to communicate with the system. Also, portability is inhibited because of cabling portability challenges and power limitations.
Therefore, despite the foregoing developments, there remains a need for a computer that has greater capacity for supporting multiple input and output devices. There is also a need for a computer that would provide greater compatibility so that the computer can support old and new input and output devices. It would be desirable if this improved support of input and output devices could be accomplished using a standard communication protocol that would allow the computer to communicate with various input and output devices or peripherals regardless of brand, physical connector type, or power consumption. It would also be desirable if two or more computers could directly share one or more peripheral devices without the need for expensive hardware.
The present invention provides a method comprising: (a) establishing a wireless communication link between a computer through a first transceiver communicatively coupled to a bus in the computer, and a second transceiver communicatively coupled to a peripheral device through a control unit, wherein the computer is configured to operate under the control of an operating system and one or more application programs; (b) providing identification of the peripheral device to a driver via the first transceiver, wherein the driver is stored in a memory device that is coupled to the bus; and (c) communicating commands between the one or more application programs and the peripheral device through the operating system, the driver, the first transceiver, the second transceiver, and the control unit. In one embodiment, the method includes transmitting a device discovery signal from the second transceiver at a device discovery frequency, receiving the device discovery signal at the first transceiver, and communicating the device discovery from the first transceiver over the bus to the driver. The method will preferably include communicating a request for identification from the driver to the control unit of the peripheral device. In accordance with user preferences, the method may further comprise automatically configuring the driver for communication with the identified peripheral device. Alternatively, the method may include informing a user of the computer that the peripheral device has been identified, and querying the user whether to accept and configure the peripheral device.
The wireless communication link between the computer system bus and a peripheral device may incorporate security measures including, but not limited to, encryption, passwords, and frequency hopping. The discovery and configuration of the wireless peripheral is accomplished using a secure access protocol. A preferred security protocol can be an encoded communications data stream using a cryptographic algorithm.
Further, the method may comprise: (a) establishing a wireless communication link between a wireless bus extender in a computer and a transceiver communicatively coupled to a peripheral device through a control unit; (b) providing identification of the peripheral device to a driver via the first transceiver, wherein the driver is stored in a memory device that is coupled to the bus; and (c) communicating commands between the one or more application programs and the peripheral device through the operating system, the driver, the first transceiver, the second transceiver, and the control unit. It is preferred that the wireless bus extender comprise a transceiver for transmitting and receiving wireless signals selected from radio frequency, infrared, or combinations thereof.
In accordance with the wireless system bus and wireless bus extender of the present invention, it is possible to communicate wirelessly using either serial or parallel communications. Wireless serial communications or signals are transmitted at a single frequency and provide digital information at a given clock speed. Such transmission may be thought of as a sort of square wave signal, including both return-to-zero and non-return-to-zero signals. In order for such information to be useful to a computer or peripheral device, the signals must generally be deserialized. On the other hand, parallel communications or signals are transmitted using a separate frequency for each of the parallel channels required. For example, eight bit parallel communications would require that each of the eight bits be transmitted at the same time or clock pulse over eight different frequencies.
Another aspect of the invention provides a computer system comprising: (a) a system bus providing communication lines between a memory device, a central processing unit, an input/output controller, and a user input device; (b) a wireless system bus extender coupled to the system bus; and (c) bus extender driver code stored in the memory and executing on the central processing unit to establish wireless communication with a wireless peripheral device. Preferably, the wireless system bus extender and the bus extender driver code cooperate to either (1) discover the wireless peripheral device, (2) request and receive identification of the wireless peripheral device, (3) communicate a bus address to the wireless peripheral device, or (4) a combination thereof. The computer system may also provide an operating system stored in the memory and executing on the central processing unit to execute commands from one or more application programs stored in the memory and executing on the central processing unit, wherein the bus extender driver code makes wireless peripheral devices accessible to the operating system. The wireless communication system may be selected from serial and parallel communications using wireless signals.
The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of a preferred embodiment of the invention, as illustrated in the accompanying drawings wherein like reference numbers represent like parts of the invention.